The task of designing a user interface (UI) for a software application is tedious and time-consuming. Developers typically spend a great deal of time writing code to transfer information from the underlying data of the application to the elements or components of the UI and back again. Not only does this consume developer time, it also means that a developer is required to be heavily involved in UI design. As UIs have become more visually sophisticated, it has become increasingly important to have professional designers build UIs rather than developers. But, because code is still required to “hook up” the interface to the underlying data, the task of UI design must be shared between developer and designer.
It would be helpful if there were an easy and flexible way to hook up an interface to the underlying data.